1. Field of the Invention
The present invention relates to a apparatus for performing air/fuel ratio feedback control for an internal combustion engine, and more particularly to a method for performing air/fuel ratio feedback control for an engine which reduces the effects of noise when using a defined determining (i.e., decision) value, calculated in part, at least, from detected values of oxygen density in exhaust gas, as a criterion for determining air/fuel ratios.
2. Description of the Prior Art
Conventionally, in an internal combustion engine for performing air/fuel ratio feedback control by an output signal from an oxygen sensor, a method is known in which the output signal from an oxygen sensor (placed in the exhaust gas atmosphere) is converted into a digital signal at predetermined time intervals, with a determined (i.e., decision) value established based upon the converted digital value. Examples of such methods include U.S. Pat. to Chujo Nos. 4,459,669 and 4,458,319, which are herein incorporated by reference. This determined value is then compared with the output signal from the oxygen sensor to determine whether the intake mixture of air and fuel is in the so-called "lean burn zone" or in the "rich burn zone". The determined (decision) value is necessary for early detection of the change of air/fuel ratio and for controlling the ratio.
FIG. 1 shows, for instance, a relationship between a measurement or measured value and a determined value as well as the relationship between a flag XAF and an air ratio/fuel feedback signal FAF. In these curves, the solid line G1 indicates the change in the measured value of the output from the oxygen sensor, the dotted line G2 indicates the change in the determined value. In the curves, in the portion before the time T2 and the portion between the time T5 to T8, the measured value is below the determined value, and thus defines a lean burning zone. On the other hand, in the area between time T2 to T5 and after the time T8, the measured value is above the determined value, and thus defines a rich burning zone.
The change in the determined value enables an early detection of the change or transition of the measured value, that is, that the oxygen density or concentration is increasing or decreasing.
FIG. 2 shows an OX decision subroutine flow chart for setting the determined value. In step 1, a determination or decision is made whether or not the flag XAF=1, which is indicated as 1 in a rich burn zone and is indicated as 0 in a lean burn zone.
In step 2, a decision is made whether or not the value which is subtracted from the measured value OX by the determined (i.e., decision) value OXR is above a predetermined positive value a. In step 3, the value which was subtracted from the measured value OX by the predetermined value a is set for the determined value OXR.
In step 4, a decision is made whether or not the value which was subtracted from the measured value OX by the determining value OXR is above a predetermined negative value b. The step 5 is for setting the value which was subtracted from the measured value OX by the predetermined value b with respect to the measured value OXR. In step 6, a decision is made whether or not the measured value OX is above the determined value OXR. The step 7 is for setting the binary number "1" for the flag XAF, while the step 8 is for setting "0" for the flag XAF.
In this OX decision subroutine, each step is executed, for example, every 12 msec and decisions are made whether each particular area belongs to the lean burn zone or rich burn zone by comparing the traces of the measured value G1 and the determined value G2, as shown in FIG. 1.
Namely, first in step 1, if the flag XAF=0, (i.e., in the lean barn zone) the result of the decision becomes NO and the operation moves to step 4. In step 4, a decision is made whether or not the value (OX-OXR) is below the predetermined negative value b, and if the result of the decision is NO, the operation now moves to step 5. In step 5, the value which was subtracted from the measured value OX by the predetermined negative value b is set for the determined (i.e., decision) value OXR and the operation now moves to the step 6. In this step 6, the measured value OX is compared with the determined value OXR and if OX is equal to or less than the OXR, the result of the decision is NO and the operation moves to the next step 8, where the flag XAF is set to 0, i.e. XAF=0.
Afterward, as long as the conditions XAF=0 and OX-OXR.ltoreq.b are maintained, the above operation is repeated. This condition corresponds to the portion before the time T1 in FIG. 1. In this case, the value OX decreases and the difference between OX and OXR is maintained at the value -b.
Next, when the decrease in the value of OX is stopped by certain feedback control, the result of the decision becomes YES since OX-OXR is above the value b (i.e., OX-OXR&gt;b in step 4) and the operation now moves to the step 6. In the step 6, the result of the decision becomes NO since the relationship OX.ltoreq.OXR has still been maintained and the operation moves to the step 8, where the binary number "0" is set for the flag XAF, i.e. XAF=0. Afterward, as long as the conditions XAF=0 and OX-OXR&gt;b are maintained, the above operations are repeated.
This condition corresponds to the portion between the time T1 and T2 in the curve in FIG. 1. In this case, the value OX is turned from zero to a positive value in gradient, while the value OXR is maintained constant in parallel with the time axis of the graph.
The value OX continues increasing afterward, and when it becomes above the value OXR, the result of the decision in the step 6 becomes YES since the relationship is OX&gt;OXR in the step 6 and the operation now moves to the step 7, where the flag XAF is set to "1". This condition corresponds to the portion just after the cross point at the time T2 where the values OX and OXR intersect each other, as shown in FIG. 1. Afterward, it is considered as being the rich burn zone.
After the time T2, the result of the decision becomes YES since the flag XAF is "1", i.e. XAF=1 in step 1 and the operation now moves to the step 2. In this step 2, a decision is made as to whether or not the value OX-OXR is larger than the predetermined positive value a. If so, the result of the decision is NO since OX-OXR has been larger than 0 (and it is not beyond the predetermined positive value a) and the operation moves to the step 6.
In the step 6, since the value OX is larger than the value OXR, i.e. OX&gt;OXR, the result of the decision becomes YES and now the operation moves to the next step 7. In this step 7, the flag XAF is set to "1", during which there is no change in the value of OXR. This condition is indicated in the time period between the time T2 and the time T3.
Moreover, when the increase in the value OX continues and the difference between the value OX and the value OXR is beyond the predetermined positive value a, the result of the decision becomes YES in the step 2 since OX-OXR&gt;a, and the operation now moves to the next step 3, where the value which was subtracted from the value OX by the value a is set for the value OXR. In the step 6, the result of the decision becomes YES and the operation now moves to the next step 7, where the number "1" is set into the flag XAF, i.e. XAF=1. Afterward, if the conditions XAF=1 and OX-OXR&gt;a are maintained, the above operations are repeated. This condition corresponds to the area between the time T3 and T4. During this time period, the difference between the values OX and OXR is maintained at the value a.
Next, when the increase in the value OX is stopped, the result of the decision in the step 2 becomes NO as the relationship OX-OXR.ltoreq.a is established and the operation now moves to the step 6. In the step 6, since the value OX is still larger than the value OXR, the result of the decision is YES and the next step 7 is executed, where the flag XAF is set to "1", i.e. XAF=1 is established. Afterward, the above operations are repeated as long as the conditions XAF=1 and OX-OXR.ltoreq.a are maintained. This condition corresponds to the condition between the time T4 and the time T5 in FIG. 1. In this case, the value OX turns from zero to negative gradient value, while the value OXR is maintained constant in parallel with the time axis.
Next, the decrease in the value OX continues and when it becomes below the value OXR, the result of the decision becomes NO since the relationship is OX.ltoreq.OXR in the step 6) and the operation now moves to the next step 8, where the flag XAF is set to "0". This condition corresponds to the cross point at the time T5 where the values OX and OXR intersect each other in FIG. 1. Afterward, it is considered as being the lean burn zone.
After the time T5, the result of the decision becomes NO since the flag XAF is zero, i.e. XAF=0 in the step 1, and the operation now moves to the step 4. In this step 4, a decision is made as to whether or not the value OX-OXR is larger than the predetermined negative value b. In this case, the result of the decision is YES since OX-OXR has been equal to or less than 0 and it is beyond the predetermined negative value b, and the operation moves to the step 6.
In the step 6, since the value OX is equal to or less than the value OXR, i.e. OX.ltoreq.OXR, the result of the decision becomes NO and now the operation moves to the next step 8. In this step 8, the flag XAF is set to "0", during which there is no change in the value of OXR. This condition is indicated in the time period between the time T5 and the time T6.
Moreover, when the decrease in the value OX continues and the difference between the value OX and the value OXR is below the predetermned negative value b, the result of the decision becomes NO in the step 4 since OX-OXR.ltoreq.b is maintained, and the operation now moves to the next step 5, where the value which was subtracted from the value OX by the value b is set for the value OXR. That is, the value OXR is larger than the value OX by the absolute value of b. In the step 6, the result of the decision becomes NO and the operation now moves to the next step 8, where the number "0" is set for the flag XAF, i.e. XAF=0. Afterward, if the conditions XAF=0 and OX-OXR.ltoreq.b continue, the above operations are repeated. The portion indicated between the time T6 and the time T7 shows this condition.
The operation between the times T6 and T7 is similar to that before T1, during which the difference between the values OX and OXR is maintained at the absolute value of b.
In such a manner as described in the foregoing, each particular zone is decided or determined whether it is in a rich burn zone or a lean burn zone, and the air/fuel ratio is feedback-controlled in the air/fuel feedback control subroutine (not shown) in accordance with the result thereof and in response to an air/fuel feedback signal, for example, by regulating the open time of a fuel injection valve.
The characteristic curve X in FIG. 1 shows the condition of XAF during each time period while the characteristic curve Y shows the condition of the air/fuel ratio feedback signal FAF. As described above, operating conditions are maintained so that, prior to the time T2, XAF=0; between the time T2 and T5, XAF=1; between the time T5 and T8; XAF=0, and after the time T8, XAF=1. In this case, if flag XAF is zero, i.e. XAF=0, the air/fuel ratio feedback signal FAF becomes a rich burn signal, while FAF becomes a lean burn signal if XAF=1.
However, if the determined (or decision) value OXR becomes abnormal for any reason, feedback control is no longer possible thereafter, or it results in the degradation of driveability and proper emission as a result of an erroneous feedback control thereto, according to the prior art.
Conventionally, the determined value is calculated based on the measured values of the oxygen concentration with subsequent determined values determined in accordance with the correlation between the current determined value and the measured value. Accordingly, if the determined value becomes defective erroneous feedback control will not automatically return to normal since subsequent determined values are determined from the correlation between the erroneous determined value and the measured value. Such erroneous feedback control will often continue for further time periods.
For example, supposing that in FIG. 1 during the time period between the time T3 and the time T4, the value OXR is set at the time N1 to the value m (the point P1 in FIG. 1) which is above the value OX because of any additive noise in the system. In the normal condition after time T3, the operation is made in such a manner that steps 1, 2, 3, 6 and 7 of FIG. 2 are to be executed. In this case, if an erroneous setting has caused OXR to be set at M, for example, in the step 3 at N1, the result of the decision in the next step 6 will become NO as the value OX is smaller than the value OXR, i.e. OX&lt;OXR, and the operation will now move to step 8, where "0" is to be set for the flag XAF.
Next, when the step 1 is executed, the result of the decision becomes NO since XAF=0 has been established in the previous operation of the subroutine and the operation will move to the next step 4. However, when the value m is not as large, the result of the decision becomes YES in the step 4, with the relationship OX-OXR&gt;b being established, and the operation will now move to the next step 6, where the result of the decision will become NO. The operation will move to the step 8, where "0" is set into the flag XAF. In this manner as described, the value OXR is maintained at the value m. During that time period, however, notwithstanding the fact that the value OXR is actually in the rich burn zone, it is determined as being in the lean burn zone with XAF=0. And yet, the increase in the value OX can not be stopped although it passes by the point corresponding to the time T4 in FIG. 1 under feedback control and it is determined as being in the lean burn zone until the value OX is beyond the value m. These conditions are shown in FIG. 3. In FIG. 3, it is indicated that OXR moves to the point P1 by changing the value to m because of the noise (previously discussed) at the time T12. That is, the operation after the time T12 will be similar to that after the time T1 in FIG. 1, as shown in the dotted line G3 in FIG. 3, and the total level thereof will be increased.
On the other hand, when the value OXR becomes the value n at the point P2 which is relatively large, due again to the noise, the result of the decision will become NO in the step 6 and the next step 8 is to be executed, where "0" is set for the XAF flag.
Next, when the step 1 is executed, the result of the decision in the step 1 becomes NO since XAF=0 is set in the previous operation of the subroutine and the operation now moves to the next step 4. In this step 4, when the value n is relatively large, the relationship OX-OXR.ltoreq.b is established, so that the result of the decision in this step becomes NO and the operation moves to the step 5, where the value OX-b is set for the value of OXR. This value is indicated at the point P3 in FIG. 3. Next, the result of the decision in the next step 6 becomes NO and the operation now moves to the step 8, where "0" is set into the flag XAF.
Next, when the operation returns to the step 1, the result of the decision becomes NO and the operation now moves to the next step 4. In this step 4, since the relationship OX-OXR&gt;b is established because of the increase in the value of OX by the feedback control, the result of the decision will become YES and the next step 6 is to be executed, where the result of the decision becomes NO and the operation moves to the step 8, where "0" is set for the XAF flag. In this manner, the value OXR is maintained at the point P3. However, during that time period, although it is actually in the rich burn zone, XAF=0 has been previously established and the result of the decision will be as if it were in the lean burn zone. Afterward, the operation after the time T1 will be as shown in the dotted line G1 in FIG. 1. In this manner as described above, the value of OXR changes due to the introduction of noise into the OXR determined values and, in turn, the level of the air/fuel ratio is also changed. This results in the condition that the proper value of OXR can no longer return,